#ifndef __CONFIG_HPP
#define __CONFIG_HPP
#include <json/json.h>
#include <string>
#include <memory>
#include <fstream>

namespace visionhw
{
    class Config
    {
    private:
        Config() {}
        static std::shared_ptr<Config> _config;
        std::ifstream _ifs;
        Json::Reader _reader;
        Json::Value _root;

    public:
        ~Config();
        static void setConfigFile(const std::string &filename);
        static Json::Value getValue(const std::string &key);
        static Json::Value getRoot();
    };

} // namespace visionhw
#endif